package com.zby.ss.core.facotry;

import org.apache.commons.lang3.StringUtils;

/**
 * Created By zby on 15:08 2019/2/16
 * 通过属性、构造器创建对象
 */

public interface ObjectFactory<T> {


    /**
     * Created By zby on 15:09 2019/2/16
     * 通过构造器创造对象
     *
     * @param classPath 类路径
     */
    T creatObjectByConstruct(String classPath);

    /**
     * Created By zby on 15:09 2019/2/16
     * 通过构造器创造对象
     *
     * @param clazz 类字面对象
     */
    T creatObjectByConstruct(Class<T> clazz);

    /**
     * Created By zby on 18:00 2019/2/16
     * 属性创造构造器
     */
    T creatObjectByProperty(String classPath);

    /**
     * Created By zby on 17:59 2019/2/16
     * 属性创造构造器
     */
    T creatObjectByProperty(Class<T> clazz);


}
